package javaTeste.tInterface;

import java.AssinaturaMetodo;
import java.classe.Interface;

import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;


public class TesteCriarInterfaceImplementandoOutras implements Especificacao4 {
	Interface agua = null;

	@Before
	public void up() {
		agua = new Interface("Agua");
	}

	@Test
	public void interfaceAguaAssinaturaMetodoAgua() {
		agua.addAssinaturaMetodo(new AssinaturaMetodo("agua"));
		Assert.assertEquals("interface Agua{void agua();}", agua.codigoFonte());

	}

	@Test
	public void interfaceAguaAssinaturaMetodoAguaEFogo() {
		agua.addAssinaturaMetodo(new AssinaturaMetodo("agua"));
	agua.addAssinaturaMetodo(new AssinaturaMetodo("fogo"));
		Assert.assertEquals("interface Agua{void agua();void fogo();}", agua.codigoFonte());

		
	}

	@Test
	public void interfaceAguaExtendeAguaFogo() {

		agua.addImplementar(new Interface("Agua"));
		agua.addImplementar(new Interface("Fogo"));
		
		Assert.assertEquals("interface Agua implements Agua, Fogo{}", agua.codigoFonte());

	}

}
